<?php
define('not_permission',	'500');
define('mysql_error',		'1');
define('license_not_found',	'2');
define('mac_not_correctly',	'3');
define('date_wrong',		'4');
//die(date('d.m.Y H:i'));

//Получаем данные
$s1 = $_GET['s1']; //license
$s2 = $_GET['s2']; //mac

//Если нет данных, значит нет доступа
if(!$s1 || !$s2) die(not_permission);
//E069951FDF6C	-	работа
//002354D5415F	-	дом

//Проверяем полученные данные
if(!preg_match("/^([A-Z0-9-])+$/", $s1)) die(license_not_found);
if(!preg_match("/^([A-Z0-9])+$/", $s2)) die(license_not_found);


//Выполняем запрос
require 'mysql.php';
$sql = "SELECT *
		FROM `license`
		WHERE `license` = '$s1' AND `active` = '1'";
$result = mysql_query($sql);

//Если вернулось ноль записей, то лицензия не верная
if(mysql_num_rows($result) == 0) die(license_not_found);

//Получаем запись лицензии
$row = mysql_fetch_assoc($result);

//Если MAC адрес не верный, выкидываем ошибку
if($row['mac'] != $s2) die(mac_not_correctly);

//Сравниваем даты
//если дата на сервере меньше текущей даты, то выкидываем ошибку
$date_end = explode('-', $row['date_end']);
$date_end = mktime(0,0,0, $date_end[1], $date_end[2], $date_end[0]);
$date_now = mktime(0,0,0, date('m'), date('d'), date('Y'));
if($date_now > $date_end) die(date_wrong);


//Генерируем обратный MD5 хеш
//день + первый символ года + хеш(лицензия+мак) + 2й символ года + месяц
$d = hex(date('d'));
$m = hex(date('m'));
$y = hex(date('y'));
die($d . substr($y,0,1) . strtoupper(md5($row['license'] . $row['mac'])) . substr($y,1,1) . $m);



function hex($val) {
	$val = (int)$val;		//из строки в число
	$val = dechex($val);	//из 10-ричной в 16-ричное
	$val = (string)$val;	//из числа в строку
	$val = strtoupper($val);//в верхний регистр
	if(strlen($val)==1) $val = '0'.$val;
	return $val;
}
?>